import java.util.ArrayList;
import java.util.List;

/*
* 给你二叉树的根节点 root ，返回它节点值的 前序 遍历。(递归实现)
 *https://leetcode.cn/problems/binary-tree-preorder-traversal/
* */
class PreorderTraversal {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> ret=new ArrayList<>();
        if(root==null){
            return ret;
        }
        ret.add(root.val);
        List <Integer> leftTree=preorderTraversal(root.left);
        ret.addAll(leftTree);
        List<Integer> rightTree=preorderTraversal(root.right);
        ret.addAll(rightTree);
        return ret;
    }
}